As it is generally known, authentication is the process of determining whether someone or something is, in fact, who or what it is declared to be. In the areas of computer and computer network technology, authentication technologies have most often been based on logon passwords. Existing authentication technologies require users to present their password each time they wish to be authenticated. For example, when accessing a secure resource provided through a computer and/or computer network, an authorized user must first correctly enter (e.g. type) both their username and their complete password into fields within a graphical user interface presented by or on behalf of the secure resource, in order to be authenticated.
Password strength varies depending on the specific password selected by the user. The strength of a given password is a function of its length, complexity, and unpredictability. Most commonly, users select their own passwords. Stronger passwords are more effective in resisting guessing and brute-force attacks, and accordingly lower the overall risk of a security breach. It is therefore highly desirable that users select relatively strong passwords.